perm filename PAPERA.7[DOC,TOB] blob sn#027210 filedate 1973-02-24 generic text, type T, neo UTF8
00100			     COMPUTER VISION
00200				   by
00300	             Thomas O. Binford, Stanford University    and
00400	             Jay M. Tenenbaum,  Stanford Research Institute
00500	
00600	
00700				Introduction.
00800	
00805	Intelligent computers require knowledge of their environment, and
00810	the most effective means of acquiring such knowledge is by seeing.
00815	Vision will open a new realm of computer applications. Weather 
00820	analysis from cloud maps and medical diagnosis from x-rays and
00825	blood cell counts are two of many high volume data processing tasks that
00830	require pictorial input. Man-machine communication will be facilitated 
00835	if a person can directly show the computer a real object, rather than
00840	having to describe it symbolically. Designers, for example, could
00845	then easily obtain a computerized structural analysis of scale models.
00850	
00855	A particularly exciting application domain is industrial automation.
00860	Today in industry there are hundreds of machines called industrial 
00865	robots. These programmable manipulators can repetitively execute a precise
00870	sequence of motions but have no sensors and are thus unable to react dynamically
00875	to contingencies. Simple sensors and a minicomputer could, at 
00880	slight additional cost, turn these manipulators into true robots.
00900	Primitive visual skills would enable these machines to  align  mating  parts  in  assembly  operations,
00905	increase reliability by self-calibration, detect flaws and avoid disasters.
00910	Vision will also minimize the present need for precise positioning of parts at
00912	each work station; parts could instead be transported in a bin and picked
00915	out as needed.
00920	
00925	The study of perception also provides valuable insights into
00930	human and machine information processing.
01605	Many of the problems encountered are widespread in
01700	intelligence: How is knowledge represented? 
01800	How does it guide in drawing conclusions from perceptual data?
01900	How does existing knowledge interact with conclusions drawn  from  an image 
01905	to acheive learning?
01910	Issues that arise in the implementation of vision systems have broad
01915	relevance to computer science: How shoulc a complex task be
01920	partitioned into modules? How should the modules communicate to
01925	share their knowledge and special capabilities? How should systems with
01930	highly interdependent modules be structured to facilitate modification?
02100	
02105	Techniques developed for machine perception
02200	cannot be taken literally as models for biological systems because of
02300	differences in hardware and gaps in our  knowledge.  However, fundamental
02400	limitations  are  shared,  suggesting that some of the principles might
02450	also be found in nature. The research may, in turn, 
02500	occasionally borrow from biology,  but  we  cannot  copy
02600	nature,  since  again, the  details  are  not  yet known  and  the  hardware  is
02700	different.
05700	
05800	
05805	Historically, computer vision emerged from the study of two dimensional
05810	pattern recognition. However, it is seldom possible to apply the 
05815	mathematical formalisms developed for classification to the 
05820	analysis of real scenes. Consider the visual requirements for an
05825	organism such as a robot. It must
06000	manipulate or avoid objects, not just
06100	classify   them.     Manipulation    requires    three-dimensional
06200	interpretations  and spatial relations of objects. 
06400	In problems like  character recognition, it was attractive
06500	to simply save images or feature vectors, then match against an image
06600	or  part  of  an image.  But in real scenes, objects occlude one another, they have parts
06700	with joints  that  move  separately,  there  are  many  viewpoints,  many
06800	possible  objects,  and  many combinations of objects. Object classes, moreover,
06900	are often defined by function, not shape (eg. the class of coffee  cups).  
07100	Direct  template
07200	matching techniques are impractical for these requirements, except in
07300	very carefully controlled applications. Perception involves
07305	complex deductions to understand an image in terms of a priori knowledge
07310	of the world.
     

00100		ELEMENTS OF A VISUAL SYSTEM
00200	
00300	The  computer  eye is some form of tv camera with color filters and a
00400	turret or zoom  lens  for  closeup  views.    The  computer  controls
00500	filters,  lens  and  other  parameters to optimize the image for each
00600	task [Tenenbaum].  A recent study has suggested alternative sensors 
00700	to overcome the inadequate dynamic range of television systems [Binford].
00705	Range information greatly simplifies the interpretation of scenes.
00800	Humans use depth information  obtained  from  stereo and a variety of inferred
00805	cues such as motion parallax and the size of known objects. Since these techniques
00810	require subtantial processing, it is easier for machines to obtain depth
00815	by direct measurement.
00900	Several  depth  sensors based on triangulation have been built [Agin,
01000	Shirai, Munson]. 
01200	
01300	The  image  is  read  into  memory  as  an array of brightness values
01400	(typically 300x300) with 4-8 bits for each sample for each color. The
01500	process  of  interpreting  this  mass  of  numbers  into  a  symbolic
01600	description can  be  thought  of  as  subdivided  into  segmentation,
01700	representation, and interpretation.
01800	
01900	The  process of segmentation partitions a scene into meaningful
02000	entities which  may  be  recognizable.    Segmentation  in  character
02100	recognition  is simple since printed characters are spatially separated
02200	and have high contrast with white paper. It is harder to segment objects in  a
02300	real  scene  (even  simple  scenes)  since objects may overlap and will not
02305	usually be separable from the local background by a single attribute like brightness contrast.
02310	Instead, segmentation must proceed by seeking regions of uniform
02400	brightness, color, or texture
02500	(itself  a  complex descriptor), or regions with regular boundaries.
02600	Segmentation
02700	may  also  depend  on  inferred depth  cues (e.g., texture gradients or
02705	suspected occlusion).
02900	
03000	In what form can we represent objects internally in the computer?  The
03100	simplest  form is a pictorial template, an array of brightness values
03200	to be matched directly against fragments of  scenes  by  correlation.
03300	Given  the  inadequacies  of  this  representation,  we must describe
03400	partitioned regions symbolically in terms of extracted features  like
03500	color,  size,  texture, and shape.  All these properties are inferred
03600	by complex processes from the image.  Simple descriptors for shape or
03700	texture may be used in simple tasks and limited context.  Shape might
03800	be described by the ratio of the squared perimeter to the area  of  a
03900	region.  More sophisticated shape representations, needed for a wider
04000	range of tasks, are described later.
04100	
04200	Interpretation is often expressed as  computing  a  distance  measure
04300	between  an  object and a stored model.  For simple cases that can be
04400	useful.   When objects are occluded, there must be a  partial  match.
04500	When  objects  are  not  identical, judgments of similarity depend on
04600	representation of shape and representation of the task, in  order  to
04700	define  important  differences.  The most useful approach is to build
04800	up  symbolic  descriptions  and   make   symbolic   descriptions   of
04900	differences.   Sometimes,  there  are few enough models that matching
05000	with each model is possible. More generally, the observed features 
05100	must first be used to retrieve likely models from a large visual memory.
05200	
05205	The integration of segmentation, representation and interpretation to acheive
05210	perception is illustrated by a system built at the University of Edinburgh
05215	[Barrow] which can recognize a small set of ordinary objects such as 
05220	pencils, eye-glasses and teacups. Objects are presented against a contrasting
05225	background. Segmentation is acheived by partitioning the scene into
05230	regions of uniform brightness. Objects are represented by relational
05235	graphs detailing gross attributes (size, shape) of their principle regions 
05240	and spatial constraints between them. Interpretation is accomplished by mapping
05245	the relational graph descriptions of known objects onto the segmented
05250	regions obtained from the scene and seeking the best match.
05255	
05260	Experience with early bottom-up systems of this type led to the realization
05265	that the three basic processes of a perceptual system were highly interdependent;
05400	one cannot proceed sequentially through segmentation, representation  and
05500	interpretation   and   expect   to   obtain   a  globally  consistent
05600	interpretation for all objects  in  a  scene.  One problem is that  no reliable
05602	basis exists for judging the global significance of segmentation boundaries 
05603	using local similarity criteria.
05605	Segmentation  must  be
05700	guided   by   interpretation   to   choose   among  many  alternative
05800	partitionings, that which leads to a globally consistent and reasonable
05805	description of the scene.
     

00100			BLOCKS WORLD
00200	
00300	To avoid some of these difficulties, research concentrated  initially
00400	on  scenes  of  toy blocks.  Roberts' important work opened the field [].
00500	Objects were represented as built up  of  three  primitive  parts,  a
00600	block,  a  wedge, and a hexagonal prism. The program assumed it would
00700	first obtain perfect line drawings. Interpretation  meant  finding  a
00800	three-dimensional model which after translation, rotation and scaling
00900	could be projected to match part of the image.  The recognized  piece
01000	was  then  cut  away  and  the remainder considered.  Primitives were
01100	represented by their vertices in three  dimensions.    To  decide  on
01200	likely  image  points  which  belonged  to a single body, the program
01300	attempted  to  identify  unobscured  polygons,  then  match  sets  of
01400	vertices  to topologically similar model vertices. Line drawings were
01500	formed by a sequence of local operations.  Candidate edge points were
01600	considered  by  thresholding the gradient of intensity. Isolated edge
01700	points were discarded.  Connected line  fragments  were  concatenated
01800	into  lines  which  were  segmented  at corners by a sequential least
01900	squares line fit.  Merging of colinear lines bridged some gaps.
02000	
02100	That system organization has proven inadequate. It is not  enough  to
02200	use  models and template matching. Producing perfect line drawings is
02300	not practical:  some  lines  are  missed;  shadows,  reflections  and
02400	surface  markings  cause  extra  lines;  errors made at one stage are
02500	compounded by later stages.  These deficiencies motivated  subsequent
02600	research.
02700	
02800	Guzman  []  found  it possible to segment complex scenes into objects
02900	without template matching, by observing that some vertices give local
03000	evidence  that adjacent regions belong to the same body. In figure 1,
03100	vertices A,B,C,E,G and H give evidence that adjacent regions belong to the
03200	same  body, while vertex F does not. 
03205	Vertex  D which resembles G gives misleading  evidence.  To avoid such
03300	coincidences, the program required confirmation.      Regions  linked
03400	twice  were  joined  into clusters; regions linked twice to a cluster
03500	were also joined.  Regions linked only to a single cluster were  also
03600	joined  to  that  cluster. Eventually, the program evolved to include
03700	inhibitions against certain links by requiring similar conditions  at
03800	both  ends  of  a  line.   Other  links  were introduced without much
03900	motivation.   
03950	
03975	This program was an important advance.    Bodies  could
04000	be  segmented  without  recognition and without explicit models.  The
04100	program did surprisingly well, but had problems with holes and  other
04200	non-convexities,  and  with  accidental  alignment.
04300	being told the background.
04310	Guzman also could not cope well with imperfect line drawings. His program
04315	would fail of figure 2 because a missing line makes region R3 common
04320	to both the block and wedge. Falk [  ] was able to avoid some of the errors
04325	associated with missing boundaries by using a Guzman like approach to link
04330	line segments likely to belong to the same object instead of regions.
04332	
04335	The limited generality of both these programs was due to the fact that they were implemented
04340	as a collection of adhoc heuristics for segmentation with no explicit
04345	understanding of line drawings. Thus, while Falk himself realized
04350	that regions like R3 could not arise in a scene containing only
04355	trihedral solids, his program could not reason at this level.
05000	Huffman  []  and  Clowes [] made theoretical analyses of objects with
05100	only  trihedral  vertices  (three  planes  at  each  vertex).      By
05200	classifying  edges  as  convex,  concave  and  obscuring,  they could
05300	require consistent labels for a drawing, and reject some drawings  as
05400	impossible  objects  under their conditions.   Waltz [] expanded that
05500	labelling of lines to include cracks  and  whether  adjacent  regions
05600	were  shadowed  or illuminated. Each vertex had many interpretations.
05700	It would seem that such large  numbers  of  possible  interpretations
05800	would   be   unmanageable.    instead,  the  increased  precision  of
05900	descriptions allows rapid discarding of wrong  interpretations.   Not
06000	only  are solutions possible, they are quickly obtained. Instead of a
06100	complete tree  search,  it  was  adequate  to  consider  vertices  in
06200	sequence, eliminating inconsistent interpretations as each new vertex
06300	was added.  This produced all possible interpretations  of  a  scene.
06400	However,   some   evaluations  were  possible  to  choose  reasonable
06500	interpretations, in cases with ambiguous interpretations.
06505	A detailed survey of the work through Huffman appears in a recent text by
06510	Duda and Hart [1973].
06600	
06700	
06800	
06900	
07000	
07100	The best performance in extracting line drawings from television images of polyhedra is given by the  Shirai
07200	[]  and  the  Binford-Horn [] line finders.  Shirai's system performs
07300	better, but requires large  contrast  between objects and  background
07400	(e.g., white  on black), and finds only features and objects for which cues
07500	are available from context.   The Binford-Horn system is able to find
07600	most  lines  in  a  scene  of  white  blocks on a white background in
07700	arbitrary lighting.  It misses a few lines which can usually be inferred from those that were found, and
07800	garbles  some  vertices.    The  two  are complementary and should be
07900	combined.
08000	
08100	The two programs are based on different principles.  Shirai's program
08200	began  with  only  outer  boundaries,  and  tried to guess as much as
08300	possible at each stage.    At vertices,  the  extension  of  boundary
08400	lines  was  tested.  Completions for unterminated lines were searched
08500	for.    Additional lines were tested for at vertices, including  some
08600	parallel  to lines at adjacent vertices.  The use of context involved
08700	not changing thresholds, but using special-purpose operators:  verify
08800	a line at known position and angle; find a line through a vertex. The
08900	Binford-Horn system was intended to provide the  base  for  a  system
09000	such  as Shirai's by providing a partial line drawing without special
09100	background.  It used a local directional edge operator and an optimal
09200	curve  sequential  decision process to extend curves and test at each
09300	extension, whether to keep, terminate, or extend further.
09350	Figure 3 illustrates the complexity of scenes handled by Shirai's program.
09400	
09500	It is interesting  to  compare  these  systems  with  the  biological
09600	system.   Directional  edge  operators  are  scanned  over  the image
09700	[Binford, Hueckel]; these compare with the edge detector cells discovered by Heubel and Wiesel[]  in
09800	higher  animals.    In  practice,  large gradients at reflections and
09900	curved surfaces cause masses of spurious edge fragments.  These  were
10000	eliminated  by  subtracting  the  local  average  at each point, thus
10100	subtracting out smooth gradients [Binford].  This process is familiar
10200	as lateral inhibition in the retina of animals.
10300	
10400	
10500	
     

00100			REAL WORLD VISION
00200	
00300	
00400	
00500	The  blocks  world  illustrates  many  basic   aspects   of   machine
00600	perception,   but   many   other  critical  problems  encountered  in
00700	perceiving real world scenes do not  arise.   Important  problems  in
00800	segmentation   were   avoided  by  using  uniformly  painted  blocks.
00900	Segmentation  of  boundaries  was  specialized  to  straight   lines.
01000	The region-growing and edge-finding techniques developed in this context
01100	cannot cope with the textures and variations of brightness that
01105	predominate in the real world.
01200	
01205	The elaborate topological descriptions that characterized simple
01210	polyhedra are inappropriate or unobtainable for most real world objects.
01300	In some cases we must rely only on gross characteristics
01400	of shape, texture and other features, e.g., to distinguish trees from mountains. In
01500	other cases, we require  more  complex  descriptions  than
01600	characterized  polyhedra,  as  in  descriptions  of machined parts or
01700	people.
01800	
01900	It is not conceivable in  real  world  scenes  to  search  through  a
02000	complete set of known prototypes seeking interpretations.  The system
02100	must limit interpretations to those familiar in the context, and  use
02200	brief  descriptions  to  select  a  small  subset  of possible object
02300	interpretations.  Segmentation can then attempt to find
02305	uniform regions for attributes which best 
02310	characterize these objects.
02400	
02405	The key problem faced in real world vision is information overload,
02410	and it must be faced, as above, by tightly coordinating segmentation and interpretation
02415	with world knowledge.
02600	The overload is
02700	not to be solved by  merely  building  faster  computers  and  bigger
02800	memories;  hardware  improvements will aid adequate techniques but do
02900	little for exhaustive techniques.
03000	
03100	Description of simple polyhedral scenes was  difficult  enough;  with
03200	these  added  obstacles,  is there hope for success in perceiving the
03300	real world? 
03305	We think so!  Although it may not be possible (or even meaningful)
03310	to obtain exhaustive descriptions of real scenes, such descriptions are seldom needed;
03315	a system will usually be concerned with only a few objects objects 
03320	required to complete a specific task. 
03400	For blocks, we restricted our programs to
03500	black and white images and distinguished structures of blocks  solely
03600	on  the  basis  of  shape.  In the real world, there is a tremendous 
03605	redundancy of visual cues. We can use color, texture,
03700	depth, size (which is not very  relevant  for  blocks),  and  surface
03800	orientation, as well as shape.  Finally, real world objects are usually found in 
03805	well defined contexts; e.g., telephones are expected on tables but not in 
03810	waste baskets.
03815	Recognition of a few promminent landmarks, combined with a priori knowledge
03820	of the environment can thus severely restrict what objects may be
03825	present in each part of the scene. While these objects may be difficult
03830	to describe, there will usually be sufficient cues available to 
03835	discriminate easily amongst the alternatives. Real world vision can be
03840	viewed as a strategy problem: Given a task, decide where to look for
03845	objects of interest and then how to distinguish them from others that
03850	might also be present.
     

00200	
00205	The principle work to date on real world vision has concentrated
00210	on segmentation and representation.
00300	Studies for agricultural and earth resources surveys have  considered
00400	texture as a two-dimensional problem.  Bajcsy [] has analyzed outdoor
00500	scenes for which perspective and  three-dimensional  description  are
00600	important.      Textures  were  described  hierarchically in terms of simpler texture
00700	elements and their spatial relationships.  Descriptors  for  texture  elements
00800	and   relations   were   derived  from  Fourier  analysis.  Typical
00900	attributes were directionality (if any),  size,  contrast,  and  spacing  of  texture
01000	elements.    The  Fourier  transform  was  found troublesome,however, and
01100	color descriptors were added to improve performance.  Some depth relations  could
01200	be  observed  from  texture gradient.   An attempt was made to obtain
01300	consistent interpretations by first confirming region  boundaries  by
01400	independent properties, making three-dimensional interpretations, and
01500	matching region descriptors with those of sky, trees, grass, etc.  in
01600	a world model.
01700	
01800	The  quality  of  interpretation  was  limited  by  unreliability  of
01900	region-growing processes. Further work in outdoor scenes attempts  to
02000	incorporate  the  world  model  and  interpretation  into  the region
02100	growing process. Regions are merged not only because of similarity of
02200	properties, but because the consistency of semantic interpretation is
02300	improved.
     

00200	
00300	
00305	Typical robot tasks such as manipulation, collision avoidance, display
00310	and recognition were analyzed to determine
00600	computational primitives required for descriptions of shape.
00800	Although some would disagree,
00900	the general criteria for shape representation are [ ]:
00905	
01000	a) Representations should be symbolic at a high level in order
01100	to interface with knowledge of the problem domain.
01200	b) Representations should depend on segmentation into parts,
01300	which may have subparts. Primitives should allow a natural choice
01305	of parts.
01400	c) Primitives should be three-dimensional volume descriptions,
01500	rather than surface descriptions.
01600	d) Descriptions should be generative.  A modest collection of
01700	primitives should allow description of a vast set of objects.
01800	
01805	We will outline one representation that fulfils these desiderata for a large
01807	class of curved objects.
01810	Objects are described in terms  of components
01820	which are simple to  describe, and the relationships of  these parts.
01835	A useful shape primitive for many curved objects 
01840	is an arbitrary  space curve,
01850	and normal  cross-sections along  this axis (figure 5).  
01851	Snake-like objects, helices, toroids, and locally helical and toroidal shapes
01852	are naturally described [Binford 71].
01854	Our basic  criteria for
01860	accepting a  piece as simple  are that the  direction of the  axis be
01870	continuous  and that  the cross-section  function along  the  axis be
01880	continuous.  We look  for portions with  large changes in  the cross-
01890	section,  and  consider  them as  likely  places  for  segmenting the
01900	object.  The  segmentation  process  must  be  flexible  and  able to
01910	generate  alternate  propositions.  A  higher  level   routine  will 
01920	ultimately select from the alternatives.  Figure 6 shows an experimentally
01921	obtained computer description of a doll [Agin 72].
     

00100			INDUSTRIAL APPLICATIONS
00150	
00300	Recently, several laboratories have begun to apply techniques
00400	from perception research to practical industrial tasks.
00500	General Motors laboratories has succeeded in mounting a wheel on 
00600	an axle. Stanford Research Institute and Hitachi Ltd. have each
00700	demonstrated systems which can distinguish sheet metal parts
00800	on a moving conveyor belt and determine their orientation to enable
00900	manipulation. Template matching techniques were used to take 
01000	advantage of the two dimensional nature of these tasks. Moreover,
01100	the conveyor demonstrations relied on the contrast between shiny metalic parts 
01200	and the black belt to simplify segmentation. Many industrial processes 
01300	share similar constraints or can be readily redesigned to do so.
01400	We thus expect a proliferation of industrial applications of 
01500	computer perception in the near future.